A battery control device is provided with a current detection unit to read a charging/discharging current of a battery as disclosed in PTL 1 for example. In general, a reading error of the current is contained in a detection value of the current detection unit, and the reading error causes a temporal integral error in a temporal integral value of the charging/discharging current.
As a method of obtaining and correcting the temporal integral error, the following method is used. Two time points having an equal SOC are selected from among battery states at the time of charging/discharging. The temporal integral value of the charging/discharging current between the two time points is obtained. Since the SOC is equal, the temporal integral value of the charging/discharging current becomes zero if there is no reading error of the current detection unit. If there is a reading error of the current detection unit, the temporal integral value of the charging/discharging current does not become zero. Then, the non-zero temporal integral value is a temporal integral error in the temporal integral value of the charging/discharging current. The temporal integral error is obtained by temporally integrating the reading error of the current detection unit. The reading error of the current is obtained by dividing the temporal integral error by a time between the two time points. When the reading error of the obtained current detection unit is used as a current correction amount and subtracted from the reading value of the current detection unit, the charging/discharging current value having no error is obtained.